/**
 * author lcs
 * date 2017-07-19
 */

/**
 * 设置用于给tab页传递参数的全局变量
 */
// 其实taskUid和succPartTaskUid是一样的值这里为了意思清楚用了两个值
var taskUid = null // 用于 tab页-齐套情况 & 用于 tab页-齐套情况 的参数
var succPartTaskUid = null // 用于 tab页-AO任务链接 的参数

/**
 * 初始化界面事件 用于初始化查询条件
 */
// @Bind #aOTaskManger.onCreate
!function(dsQuery) {

	dsQuery.insert();

}

/**
 * 界面主要展示表格（dgAOTask）加载完数据触发事件 用于初始化下面tab页显示第一条数据在tab页上
 */
// @Bind #dsPartTask.onLoadData
!function(self, dsTaskPart, dsPartTaskLink, dsOperationTask) {
	// 获取数据实体
	var entity = self.getData();
	entity.first();// 定位到第一条
	var record = entity.current;// 设置第一条
	taskUid = record.get("taskUid");
	succPartTaskUid = taskUid;
	flushDataSetAll(dsTaskPart, dsPartTaskLink, dsOperationTask);
}

/**
 * AO任务管理主要的datagrid某一行的点击事件 通过点击切换tab页的显示
 */
// @Bind #dgAOTask.onClick
!function(dgAOTask, dsTaskPart, dsPartTaskLink, dsOperationTask) {
	var currentEntity = dgAOTask.getCurrentItem();
	taskUid = currentEntity.get("taskUid");
	succPartTaskUid = taskUid;
	flushDataSetAll(dsTaskPart, dsPartTaskLink, dsOperationTask);
}

/**
 * 通用方法 同时刷新三个界面
 */
function flushDataSetAll(dsTaskPart, dsPartTaskLink, dsOperationTask) {
	// 下面依次刷新三个tab页
	// 齐套情况tab页
	var parametersEntity = dsTaskPart.get("parameter");
	parametersEntity.set("taskUid", taskUid);
	dsTaskPart.set("parameter", parametersEntity).flushAsync()

	// AO任务链接tab页
	parametersEntity = dsPartTaskLink.get("parameter");
	parametersEntity.set("succPartTaskUid", succPartTaskUid);
	dsPartTaskLink.set("parameter", parametersEntity).flushAsync()

	// 工序任务tab页
	parametersEntity = dsOperationTask.get("parameter");
	parametersEntity.set("taskUid", taskUid);
	dsOperationTask.set("parameter", parametersEntity).flushAsync()
}

/**
 * 齐套情况tab页点击事件 点击事件切换tab页
 */
// @Bind #tabIsReady.onClick
!function(dsTaskPart) {
	var parametersEntity = dsTaskPart.get("parameter");
	parametersEntity.set("taskUid", taskUid);
	dsTaskPart.set("parameter", parametersEntity).flushAsync();
}

/**
 * AO任务链接tab页点击事件 点击事件切换tab页
 */
// @Bind #tabTaskLink.onClick
!function(dsPartTaskLink) {
	var parametersEntity = dsPartTaskLink.get("parameter");
	parametersEntity.set("succPartTaskUid", succPartTaskUid);
	dsPartTaskLink.set("parameter", parametersEntity).flushAsync();
}

/**
 * 工序任务tab页点击事件 点击事件切换tab页
 */
// @Bind #tabOperationTask.onClick
!function(dsOperationTask) {
	var parametersEntity = dsOperationTask.get("parameter");
	parametersEntity.set("taskUid", taskUid);
	dsOperationTask.set("parameter", parametersEntity).flushAsync();
}

/**
 * 查询事件 通过条件查询主界面中的展示数据
 */
// @Bind #toolbarbutton_query.onClick
!function(autoFormCondition, dsPartTask) {

	var entityParameter = dsPartTask.get("parameter");
	// 获取autoform中的查询条件
	var entityQuery = autoFormCondition.get("entity");
	// 将获取到的页面中的值赋值给查询条件
	entityParameter.set("drawingId", entityQuery.get("drawingId").replace("*",
			"%"));
	entityParameter.set("batchNum", entityQuery.get("batchNum").replace("*",
			"%"));
	// 从文字转化为数字
	var taskStateTemp=null;
	switch (entityQuery.get("taskState")) {
	case "已分解":
		taskStateTemp = "102";
		break;
	case "已派工":
		taskStateTemp = "111";
		break;
	case "已开始":
		taskStateTemp = "105";
		break;
	case "已交检":
		taskStateTemp = "112";
		break;
	case "已完工":
		taskStateTemp = "106";
		break;
	}

	entityParameter.set("taskState", taskStateTemp);
	// 将查询条件传递给dataset
	dsPartTask.set("parameter", entityParameter).flushAsync();

}